// pages/search/search.js
const request = require('../../utils/request')
const app = getApp()

let animation = wx.createAnimation({
  duration: 500,
  timingFunction: 'ease',
  delay: 0
});
Page({

  /**
   * 页面的初始数据
   */
  data: {
    hotCitys: ['北京','上海','深圳'],
    useCitys:[],
    searchCityList:[],
    searchInfo: '',
  },


  start(){ //开始动画高度到500rpx后停止
    animation.height('500rpx').step()
    this.setData({ //动画导出
      ani:  animation.export()
    })
  },

  end() {
    animation.height('0rpx').step()
    this.setData({
      ani:  animation.export()
    })
  },

  //定位当前地址并返回首页
  goPosition(e) {
   if(Object.keys(e.currentTarget.dataset).length == 0) { //如果点击拿到的dataset为空
    wx.reLaunch({
      url: '../home/home', //直接跳转回首页
    })
   }else { //不为空
    request.searchPosition({ //根据值请求到地址和location进过路由传参回home页
      keyword: e.currentTarget.dataset.val,
      success: ({data}) => {
        wx.reLaunch({
          url: `../home/home?location=${JSON.stringify(data[0].location)}
          &province=${data[0].province}&city=${data[0].city}`
        })
      }
    })
   }
   

  },

  updateInfo(e) { //更新信息每次input事件更新input框所输入的值进data
    this.setData({
      searchInfo: e.detail.value
    })
    this.search();
  },

  goHome(item) {
    let loca = item.currentTarget.dataset.info
    !(this.data.useCitys.includes(loca.city)) ? this.data.useCitys.unshift(loca.city) : ''
    // this.data.useCitys.unshift(loca.city)
    
    wx.setStorageSync('data', JSON.stringify(this.data.useCitys))
    wx.reLaunch({
      url: `../home/home?location=${JSON.stringify(loca.location)}
      &province=${loca.province}&city=${loca.city}`
    })
    this.end()
  },
  del() { //清空当前输入框里的值
    this.setData({
      searchInfo: ''
    })
  },
  search(e) {//根据更新的输入框的信息来请求数据
    if (this.data.searchInfo != '') request.searchPosition({
      keyword:this.data.searchInfo,
      success: ({data}) => {
        // console.log(data);
        this.setData({
          searchCityList: data
        })
        this.start() //开启动画
      }
    })
  },
  backHome() {
    wx.navigateBack({
      delta: 1,
    })
  },

  //清空搜索历史
  clear() {
    wx.setStorageSync('data', null)
    this.setData({
      useCitys: []
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  
  onLoad: function (options) {
    let data = wx.getStorageSync('data')
    data && this.setData({
      useCitys: JSON.parse(data)
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    animation = null
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})